package leetcode.year2021;

import java.util.HashMap;

public class _03Transfer {
  public static void main(String[] args) {
    String str = "1.2G";
    System.out.println(transger(str));
  }

  public static Long transger(String str){
    HashMap<Character, Integer> cntrMap = new HashMap<>();
    cntrMap.put('K',1);
    cntrMap.put('M',2);
    cntrMap.put('G',3);

    // 获取最后一个字符
    char c = str.charAt(str.length() - 1);
    // 如果最后不包含指定字符，则直接返回数字（输入字符串必须为数字）
    if (!cntrMap.containsKey(c)){
      return Long.valueOf(str);
    }
    // 获取乘积的次数
    Integer loop = cntrMap.get(c);

    // 获取字符串的数字
    String substring = str.substring(0, str.length() - 1);
    Double baseNum  = Double.valueOf(substring);

    if (baseNum > Integer.MAX_VALUE){
      return -1L;
    }

    for (Integer i = 0; i < loop; i++) {
      baseNum *= 1024;
    }

    return baseNum.longValue();
  }
}
